<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IRremoteESP8266: src/ir_Ecoclim.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">IRremoteESP8266
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">ir_Ecoclim.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="ir__Ecoclim_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Copyright 2021 David Conran</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160; </div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160; </div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// Supports:</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//   Brand: EcoClim,  Model: HYSFR-P348 remote</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   Brand: EcoClim,  Model: ZC200DPO A/C</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160; </div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#ifndef IR_ECOCLIM_H_</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#define IR_ECOCLIM_H_</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define __STDC_LIMIT_MACROS</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;Arduino.h&gt;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a>&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRsend_8h.html">IRsend.h</a>&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#ifdef UNIT_TEST</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;IRsend_test.h&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">// Constants</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// Modes</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="ir__Ecoclim_8h.html#ae9de485f87949561850847b66ac81e47">   27</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Ecoclim_8h.html#ae9de485f87949561850847b66ac81e47">kEcoclimAuto</a> =    0b000;  </div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="ir__Ecoclim_8h.html#ad6adc2787f3c3bf0116994d0966cfe20">   28</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Ecoclim_8h.html#ad6adc2787f3c3bf0116994d0966cfe20">kEcoclimCool</a> =    0b001;  </div>
<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="ir__Ecoclim_8h.html#a4533dbeddf89b4a95eb808e6284eb2af">   29</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Ecoclim_8h.html#a4533dbeddf89b4a95eb808e6284eb2af">kEcoclimDry</a> =     0b010;  </div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="ir__Ecoclim_8h.html#abb1183a1acbe1b3257dbf05cc72380f3">   30</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Ecoclim_8h.html#abb1183a1acbe1b3257dbf05cc72380f3">kEcoclimRecycle</a> = 0b011;  </div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="ir__Ecoclim_8h.html#aac7d10152a70e17e9338e61f477faa68">   31</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Ecoclim_8h.html#aac7d10152a70e17e9338e61f477faa68">kEcoclimFan</a> =     0b100;  </div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="ir__Ecoclim_8h.html#a38c275b9ee8e0a3c409190aefb1e06a3">   32</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Ecoclim_8h.html#a38c275b9ee8e0a3c409190aefb1e06a3">kEcoclimHeat</a> =    0b101;  </div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="ir__Ecoclim_8h.html#adaeffa57c2e26d64e8afde8e296212dc">   33</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Ecoclim_8h.html#adaeffa57c2e26d64e8afde8e296212dc">kEcoclimSleep</a> =   0b111;  </div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">// Fan Control</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="ir__Ecoclim_8h.html#a2e6a1af18f73cefe4f1549b60c7a2199">   35</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Ecoclim_8h.html#a2e6a1af18f73cefe4f1549b60c7a2199">kEcoclimFanMin</a> =  0b00;  </div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="ir__Ecoclim_8h.html#a6cb9ba6ffc6db3bb1a76a46d08e9a3e1">   36</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Ecoclim_8h.html#a6cb9ba6ffc6db3bb1a76a46d08e9a3e1">kEcoclimFanMed</a> =  0b01;  </div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="ir__Ecoclim_8h.html#a1653fffcdcfdad604304f30c3e01969b">   37</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Ecoclim_8h.html#a1653fffcdcfdad604304f30c3e01969b">kEcoclimFanMax</a> =  0b10;  </div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="ir__Ecoclim_8h.html#a0675f3a9fa7a4308ca4cbee9b70c91b4">   38</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Ecoclim_8h.html#a0675f3a9fa7a4308ca4cbee9b70c91b4">kEcoclimFanAuto</a> = 0b11;  </div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">// DIP settings</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="ir__Ecoclim_8h.html#a69ebcc54bc7c25ce02557b7274a97641">   40</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Ecoclim_8h.html#a69ebcc54bc7c25ce02557b7274a97641">kEcoclimDipMaster</a> = 0b0000;</div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="ir__Ecoclim_8h.html#a118d61dbd264ffee7536e987dbf027df">   41</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Ecoclim_8h.html#a118d61dbd264ffee7536e987dbf027df">kEcoclimDipSlave</a> =  0b0111;</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">// Temperature</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ir__Ecoclim_8h.html#a52a5e38c10e8aa1fa350ea1d71180a15">   43</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Ecoclim_8h.html#a52a5e38c10e8aa1fa350ea1d71180a15">kEcoclimTempMin</a> = 5;  <span class="comment">// Celsius</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="ir__Ecoclim_8h.html#a748f159701406c4d149ec10765423acb">   44</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Ecoclim_8h.html#a748f159701406c4d149ec10765423acb">kEcoclimTempMax</a> = <a class="code" href="ir__Ecoclim_8h.html#a52a5e38c10e8aa1fa350ea1d71180a15">kEcoclimTempMin</a> + 31;  <span class="comment">// Celsius</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// Timer</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="ir__Ecoclim_8h.html#ab271e282eeb7486f4fabfdc14368e161">   46</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Ecoclim_8h.html#ab271e282eeb7486f4fabfdc14368e161">kEcoclimTimerDisable</a> = 0x1F * 60 + 7 * 10;  <span class="comment">// 4774</span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">// Power: Off, Mode: Auto, Temp: 11C, Sensor: 22C, Fan: Auto, Clock: 00:00</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ir__Ecoclim_8h.html#a7bf25176d3b9648e53c7a04334878d90">   49</a></span>&#160;<span class="keyword">const</span> uint64_t <a class="code" href="ir__Ecoclim_8h.html#a7bf25176d3b9648e53c7a04334878d90">kEcoclimDefaultState</a> = 0x11063000FFFF02;</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html">   52</a></span>&#160;<span class="keyword">union </span><a class="code" href="unionEcoclimProtocol.html">EcoclimProtocol</a> {</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html#af4c52ba1cf4306ddf149d26fc93c14e2">   53</a></span>&#160;  uint64_t <a class="code" href="unionEcoclimProtocol.html#af4c52ba1cf4306ddf149d26fc93c14e2">raw</a>;  </div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <span class="keyword">struct </span>{  <span class="comment">// Only 56 bits (7 bytes are used.</span></div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="comment">// Byte</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html#af8ab3b4b36c8d226267bd9d408a247b5">   56</a></span>&#160;    uint64_t            :3;  </div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html#af5e0d8721a854eacd373ba6b3907bfcc">   57</a></span>&#160;    uint64_t            :1;  </div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html#a6635a22deb4d5db6b320828a183df6bd">   58</a></span>&#160;    uint64_t <a class="code" href="unionEcoclimProtocol.html#a6635a22deb4d5db6b320828a183df6bd">DipConfig</a>  :4;  </div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="comment">// Byte</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html#a453dcd8e81eced1362f352c21809deab">   60</a></span>&#160;    uint64_t <a class="code" href="unionEcoclimProtocol.html#a453dcd8e81eced1362f352c21809deab">OffTenMins</a> :3;  </div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html#ab2b370d17c8b7153869a3efb6cc9af67">   61</a></span>&#160;    uint64_t <a class="code" href="unionEcoclimProtocol.html#ab2b370d17c8b7153869a3efb6cc9af67">OffHours</a>   :5;  </div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="comment">// Byte</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html#afad5515fac563e6a74b2fc19032be0a6">   63</a></span>&#160;    uint64_t <a class="code" href="unionEcoclimProtocol.html#afad5515fac563e6a74b2fc19032be0a6">OnTenMins</a>  :3;  </div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html#af4ae2762de59708ae92670a5deaaac61">   64</a></span>&#160;    uint64_t <a class="code" href="unionEcoclimProtocol.html#af4ae2762de59708ae92670a5deaaac61">OnHours</a>    :5;  </div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="comment">// Byte+Byte</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html#a521fbbb17cf7755806d62ede90144f5c">   66</a></span>&#160;    uint64_t <a class="code" href="unionEcoclimProtocol.html#a521fbbb17cf7755806d62ede90144f5c">Clock</a>      :11;</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html#a8e6682232e119fc85a7de034a454072b">   67</a></span>&#160;    uint64_t            :1;  </div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html#ac3dadf32f707065b79c7ff0677c9f192">   68</a></span>&#160;    uint64_t <a class="code" href="unionEcoclimProtocol.html#ac3dadf32f707065b79c7ff0677c9f192">Fan</a>        :2;  </div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html#ae022c9f0fe7a6912f0b9c335388cd386">   69</a></span>&#160;    uint64_t <a class="code" href="unionEcoclimProtocol.html#ae022c9f0fe7a6912f0b9c335388cd386">Power</a>      :1;  </div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html#a424f9fd7d803ad18d4bf32ff0f3342b3">   70</a></span>&#160;    uint64_t <a class="code" href="unionEcoclimProtocol.html#a424f9fd7d803ad18d4bf32ff0f3342b3">Clear</a>      :1;  <span class="comment">// Not sure what this is</span></div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="comment">// Byte</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html#af88e83a0f5f4ef72e44070afc5db6acb">   72</a></span>&#160;    uint64_t <a class="code" href="unionEcoclimProtocol.html#af88e83a0f5f4ef72e44070afc5db6acb">Temp</a>       :5;  </div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html#a25d3ca6d95d9ed88e01f512aec8f0765">   73</a></span>&#160;    uint64_t <a class="code" href="unionEcoclimProtocol.html#a25d3ca6d95d9ed88e01f512aec8f0765">Mode</a>       :3;  </div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="comment">// Byte</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html#a35648af709ab62a606481bd73cc72e14">   75</a></span>&#160;    uint64_t <a class="code" href="unionEcoclimProtocol.html#a35648af709ab62a606481bd73cc72e14">SensorTemp</a> :5;  </div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="unionEcoclimProtocol.html#acddb949003223952f34beba59abbe319">   76</a></span>&#160;    uint64_t            :3;  </div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  };</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;};</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160; </div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">// Classes</span></div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160; </div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classIREcoclimAc.html">   84</a></span>&#160;<span class="keyword">class </span><a class="code" href="classIREcoclimAc.html">IREcoclimAc</a> {</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classIREcoclimAc.html#a72a2d765c86a780162c59041e7146f19">IREcoclimAc</a>(<span class="keyword">const</span> uint16_t pin, <span class="keyword">const</span> <span class="keywordtype">bool</span> inverted = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                       <span class="keyword">const</span> <span class="keywordtype">bool</span> use_modulation = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIREcoclimAc.html#a2b88c0636f3947e48fc4aa48ade74e2e">stateReset</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">#if SEND_ECOCLIM</span></div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIREcoclimAc.html#a8f254f318d13695ce9e4096ed5693769">send</a>(<span class="keyword">const</span> uint16_t repeat = <a class="code" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>);</div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classIREcoclimAc.html#a20a2b503f5125a90c4ab183dfe92446b">   95</a></span>&#160;  int8_t <a class="code" href="classIREcoclimAc.html#a20a2b503f5125a90c4ab183dfe92446b">calibrate</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> <a class="code" href="classIREcoclimAc.html#aa34348b379abce3ae540987c3b83ec4c">_irsend</a>.<a class="code" href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">calibrate</a>(); }</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">#endif  // SEND_ECOCLIM</span></div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIREcoclimAc.html#a828ba8b5663d3ceabe8529d4ece87400">begin</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIREcoclimAc.html#a32c37e30242f049190ab086d3beb8651">on</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIREcoclimAc.html#a9a0e2ee4ff9cbc6008cb359f2c3faf23">off</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIREcoclimAc.html#acca0a0d62568abd6f62c6f403e99847f">setPower</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIREcoclimAc.html#a32c37e30242f049190ab086d3beb8651">on</a>);</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIREcoclimAc.html#acccf77fc5f0151a3414cfea45491c110">getPower</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIREcoclimAc.html#a4e176cd0def4fccc15bac1bc1dcf023b">setTemp</a>(<span class="keyword">const</span> uint8_t celsius);</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  uint8_t <a class="code" href="classIREcoclimAc.html#a4a0a22deb136371f5d93c40363cc65e9">getTemp</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIREcoclimAc.html#a371062a46e92fec628be150bd0eada96">setSensorTemp</a>(<span class="keyword">const</span> uint8_t celsius);</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  uint8_t <a class="code" href="classIREcoclimAc.html#ac0395413439cc393a8d39a6fb26e1553">getSensorTemp</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIREcoclimAc.html#a5760f762c04f950566b51b34bee2b013">setFan</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  uint8_t <a class="code" href="classIREcoclimAc.html#a61740f93abcbb3af61b89ed754d71700">getFan</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIREcoclimAc.html#a0d240abafeed17a9e0d3dca9804e03d2">setMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  uint8_t <a class="code" href="classIREcoclimAc.html#a93a69322013b546dc4e1ddb2b2dc4a2f">getMode</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIREcoclimAc.html#af81295d2878131c0302902b9a1f80db2">setClock</a>(<span class="keyword">const</span> uint16_t nr_of_mins);</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  uint16_t <a class="code" href="classIREcoclimAc.html#a2313035ff6dfece5dc716bc59c95f843">getClock</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  uint64_t <a class="code" href="classIREcoclimAc.html#aec7b0bf1c542ce8141333a84ca3afcbd">getRaw</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIREcoclimAc.html#ac88006b639a05c9605548db1af672fb0">setRaw</a>(<span class="keyword">const</span> uint64_t new_code);</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIREcoclimAc.html#a0b196d1f8079d5336de11ba6ddf0a039">setType</a>(<span class="keyword">const</span> uint8_t code);</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  uint8_t <a class="code" href="classIREcoclimAc.html#a3a924cc4b0cc7dc1b6eb4a8423785ddb">getType</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIREcoclimAc.html#aa685f7824b36e3c80926d9ab96faf623">convertMode</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> mode);</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIREcoclimAc.html#a308c50e46019d174b8b62bf5b7b8feaf">convertFan</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> speed);</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> <a class="code" href="classIREcoclimAc.html#a0355e830df179eb4f006b473d30e3117">toCommonMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> <a class="code" href="classIREcoclimAc.html#aee569b3f1c6e5f7209da6a5acd37ec66">toCommonFanSpeed</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <a class="code" href="structstdAc_1_1state__t.html">stdAc::state_t</a> <a class="code" href="classIREcoclimAc.html#a239da399ed837c535538e2321839746c">toCommon</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIREcoclimAc.html#ae09d0b632cf657769d23f201284aa08f">setOnTimer</a>(<span class="keyword">const</span> uint16_t nr_of_mins);</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  uint16_t <a class="code" href="classIREcoclimAc.html#afdb831e4920ab2e11b63e10f8dfabf7d">getOnTimer</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIREcoclimAc.html#acfa7fbedf65508a7e0cea30f8d87edfd">isOnTimerEnabled</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIREcoclimAc.html#adddfdb01de28e0dda5f8c919ee0cd0fa">disableOnTimer</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIREcoclimAc.html#a9a1b8b23de45b38eff74d10f5dfdd7bf">setOffTimer</a>(<span class="keyword">const</span> uint16_t nr_of_mins);</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  uint16_t <a class="code" href="classIREcoclimAc.html#ae74a5c07d7840e00a69b8f92cda8fcf8">getOffTimer</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIREcoclimAc.html#aa819b7f8deff0823a6e6b59d2decace1">isOffTimerEnabled</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIREcoclimAc.html#a8278eec1b47aff9304cb255be5b561bb">disableOffTimer</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <a class="code" href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a> <a class="code" href="classIREcoclimAc.html#a2f82f6da12f5f7fa66e8c136df535aa9">toString</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160; </div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classIREcoclimAc.html#aa34348b379abce3ae540987c3b83ec4c">  133</a></span>&#160;  <a class="code" href="classIRsend.html">IRsend</a> <a class="code" href="classIREcoclimAc.html#aa34348b379abce3ae540987c3b83ec4c">_irsend</a>;  </div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">#else  // UNIT_TEST</span></div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  IRsendTest <a class="code" href="classIREcoclimAc.html#aa34348b379abce3ae540987c3b83ec4c">_irsend</a>;  </div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor">#endif  // UNIT_TEST</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="classIREcoclimAc.html#a8bb20ae92cb32b3a083f43eea7be5f9a">  139</a></span>&#160;  <a class="code" href="unionEcoclimProtocol.html">EcoclimProtocol</a> <a class="code" href="classIREcoclimAc.html#a8bb20ae92cb32b3a083f43eea7be5f9a">_</a>;  </div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;};</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; </div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor">#endif  // IR_ECOCLIM_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassIREcoclimAc_html_acfa7fbedf65508a7e0cea30f8d87edfd"><div class="ttname"><a href="classIREcoclimAc.html#acfa7fbedf65508a7e0cea30f8d87edfd">IREcoclimAc::isOnTimerEnabled</a></div><div class="ttdeci">bool isOnTimerEnabled(void) const</div><div class="ttdoc">Check if the On Timer is enabled.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:322</div></div>
<div class="ttc" id="aunionEcoclimProtocol_html_ab2b370d17c8b7153869a3efb6cc9af67"><div class="ttname"><a href="unionEcoclimProtocol.html#ab2b370d17c8b7153869a3efb6cc9af67">EcoclimProtocol::OffHours</a></div><div class="ttdeci">uint64_t OffHours</div><div class="ttdoc">Off Timer nr of Hours.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:61</div></div>
<div class="ttc" id="aunionEcoclimProtocol_html_a25d3ca6d95d9ed88e01f512aec8f0765"><div class="ttname"><a href="unionEcoclimProtocol.html#a25d3ca6d95d9ed88e01f512aec8f0765">EcoclimProtocol::Mode</a></div><div class="ttdeci">uint64_t Mode</div><div class="ttdoc">Operating Mode.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:73</div></div>
<div class="ttc" id="aunionEcoclimProtocol_html_afad5515fac563e6a74b2fc19032be0a6"><div class="ttname"><a href="unionEcoclimProtocol.html#afad5515fac563e6a74b2fc19032be0a6">EcoclimProtocol::OnTenMins</a></div><div class="ttdeci">uint64_t OnTenMins</div><div class="ttdoc">On Timer minutes (in tens of mins)</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:63</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_aec7b0bf1c542ce8141333a84ca3afcbd"><div class="ttname"><a href="classIREcoclimAc.html#aec7b0bf1c542ce8141333a84ca3afcbd">IREcoclimAc::getRaw</a></div><div class="ttdeci">uint64_t getRaw(void) const</div><div class="ttdoc">Get a copy of the internal state as a valid code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:146</div></div>
<div class="ttc" id="air__Ecoclim_8h_html_a69ebcc54bc7c25ce02557b7274a97641"><div class="ttname"><a href="ir__Ecoclim_8h.html#a69ebcc54bc7c25ce02557b7274a97641">kEcoclimDipMaster</a></div><div class="ttdeci">const uint8_t kEcoclimDipMaster</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:40</div></div>
<div class="ttc" id="air__Ecoclim_8h_html_a6cb9ba6ffc6db3bb1a76a46d08e9a3e1"><div class="ttname"><a href="ir__Ecoclim_8h.html#a6cb9ba6ffc6db3bb1a76a46d08e9a3e1">kEcoclimFanMed</a></div><div class="ttdeci">const uint8_t kEcoclimFanMed</div><div class="ttdoc">1</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:36</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a2b88c0636f3947e48fc4aa48ade74e2e"><div class="ttname"><a href="classIREcoclimAc.html#a2b88c0636f3947e48fc4aa48ade74e2e">IREcoclimAc::stateReset</a></div><div class="ttdeci">void stateReset(void)</div><div class="ttdoc">Reset the internal state to a fixed known good state.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:131</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a3a924cc4b0cc7dc1b6eb4a8423785ddb"><div class="ttname"><a href="classIREcoclimAc.html#a3a924cc4b0cc7dc1b6eb4a8423785ddb">IREcoclimAc::getType</a></div><div class="ttdeci">uint8_t getType(void) const</div><div class="ttdoc">Get the Unit type/DIP switch settings of the remote.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:290</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a239da399ed837c535538e2321839746c"><div class="ttname"><a href="classIREcoclimAc.html#a239da399ed837c535538e2321839746c">IREcoclimAc::toCommon</a></div><div class="ttdeci">stdAc::state_t toCommon(void) const</div><div class="ttdoc">Convert the current internal state into its stdAc::state_t equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:361</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a371062a46e92fec628be150bd0eada96"><div class="ttname"><a href="classIREcoclimAc.html#a371062a46e92fec628be150bd0eada96">IREcoclimAc::setSensorTemp</a></div><div class="ttdeci">void setSensorTemp(const uint8_t celsius)</div><div class="ttdoc">Set the sensor temperature.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:167</div></div>
<div class="ttc" id="aunionEcoclimProtocol_html_ac3dadf32f707065b79c7ff0677c9f192"><div class="ttname"><a href="unionEcoclimProtocol.html#ac3dadf32f707065b79c7ff0677c9f192">EcoclimProtocol::Fan</a></div><div class="ttdeci">uint64_t Fan</div><div class="ttdoc">Fan Speed.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:68</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_ac0395413439cc393a8d39a6fb26e1553"><div class="ttname"><a href="classIREcoclimAc.html#ac0395413439cc393a8d39a6fb26e1553">IREcoclimAc::getSensorTemp</a></div><div class="ttdeci">uint8_t getSensorTemp(void) const</div><div class="ttdoc">Get the sensor temperature setting.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:176</div></div>
<div class="ttc" id="anamespacestdAc_html_a8bb0dbf18fe69f639f4ac0b3ff133383"><div class="ttname"><a href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a></div><div class="ttdeci">fanspeed_t</div><div class="ttdoc">Common A/C settings for Fan Speeds.</div><div class="ttdef"><b>Definition:</b> IRsend.h:61</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a2313035ff6dfece5dc716bc59c95f843"><div class="ttname"><a href="classIREcoclimAc.html#a2313035ff6dfece5dc716bc59c95f843">IREcoclimAc::getClock</a></div><div class="ttdeci">uint16_t getClock(void) const</div><div class="ttdoc">Get the clock time of the A/C unit.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:280</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a61740f93abcbb3af61b89ed754d71700"><div class="ttname"><a href="classIREcoclimAc.html#a61740f93abcbb3af61b89ed754d71700">IREcoclimAc::getFan</a></div><div class="ttdeci">uint8_t getFan(void) const</div><div class="ttdoc">Get the current fan speed setting.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:196</div></div>
<div class="ttc" id="air__Ecoclim_8h_html_a7bf25176d3b9648e53c7a04334878d90"><div class="ttname"><a href="ir__Ecoclim_8h.html#a7bf25176d3b9648e53c7a04334878d90">kEcoclimDefaultState</a></div><div class="ttdeci">const uint64_t kEcoclimDefaultState</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:49</div></div>
<div class="ttc" id="air__Ecoclim_8h_html_a2e6a1af18f73cefe4f1549b60c7a2199"><div class="ttname"><a href="ir__Ecoclim_8h.html#a2e6a1af18f73cefe4f1549b60c7a2199">kEcoclimFanMin</a></div><div class="ttdeci">const uint8_t kEcoclimFanMin</div><div class="ttdoc">0</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:35</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a32c37e30242f049190ab086d3beb8651"><div class="ttname"><a href="classIREcoclimAc.html#a32c37e30242f049190ab086d3beb8651">IREcoclimAc::on</a></div><div class="ttdeci">void on(void)</div><div class="ttdoc">Change the power setting to On.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:189</div></div>
<div class="ttc" id="air__Ecoclim_8h_html_a118d61dbd264ffee7536e987dbf027df"><div class="ttname"><a href="ir__Ecoclim_8h.html#a118d61dbd264ffee7536e987dbf027df">kEcoclimDipSlave</a></div><div class="ttdeci">const uint8_t kEcoclimDipSlave</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:41</div></div>
<div class="ttc" id="aIRsend_8h_html"><div class="ttname"><a href="IRsend_8h.html">IRsend.h</a></div></div>
<div class="ttc" id="air__Ecoclim_8h_html_adaeffa57c2e26d64e8afde8e296212dc"><div class="ttname"><a href="ir__Ecoclim_8h.html#adaeffa57c2e26d64e8afde8e296212dc">kEcoclimSleep</a></div><div class="ttdeci">const uint8_t kEcoclimSleep</div><div class="ttdoc">7</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:33</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_acca0a0d62568abd6f62c6f403e99847f"><div class="ttname"><a href="classIREcoclimAc.html#acca0a0d62568abd6f62c6f403e99847f">IREcoclimAc::setPower</a></div><div class="ttdeci">void setPower(const bool on)</div><div class="ttdoc">Change the power setting.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:186</div></div>
<div class="ttc" id="aclassIRsend_html"><div class="ttname"><a href="classIRsend.html">IRsend</a></div><div class="ttdoc">Class for sending all basic IR protocols.</div><div class="ttdef"><b>Definition:</b> IRsend.h:237</div></div>
<div class="ttc" id="aclassIRsend_html_ad1776aa6c699f9eeca1eef9bb4fe355b"><div class="ttname"><a href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">IRsend::calibrate</a></div><div class="ttdeci">int8_t calibrate(uint16_t hz=38000U)</div><div class="ttdoc">Calculate &amp; set any offsets to account for execution times during sending.</div><div class="ttdef"><b>Definition:</b> IRsend.cpp:207</div></div>
<div class="ttc" id="aunionEcoclimProtocol_html_af4c52ba1cf4306ddf149d26fc93c14e2"><div class="ttname"><a href="unionEcoclimProtocol.html#af4c52ba1cf4306ddf149d26fc93c14e2">EcoclimProtocol::raw</a></div><div class="ttdeci">uint64_t raw</div><div class="ttdoc">The state in IR code form.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:53</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_afbeda3fd1bdc8c37d01bdf9f5c8274ff"><div class="ttname"><a href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a></div><div class="ttdeci">std::string String</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:1521</div></div>
<div class="ttc" id="air__Ecoclim_8h_html_a52a5e38c10e8aa1fa350ea1d71180a15"><div class="ttname"><a href="ir__Ecoclim_8h.html#a52a5e38c10e8aa1fa350ea1d71180a15">kEcoclimTempMin</a></div><div class="ttdeci">const uint8_t kEcoclimTempMin</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:43</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a4a0a22deb136371f5d93c40363cc65e9"><div class="ttname"><a href="classIREcoclimAc.html#a4a0a22deb136371f5d93c40363cc65e9">IREcoclimAc::getTemp</a></div><div class="ttdeci">uint8_t getTemp(void) const</div><div class="ttdoc">Get the current temperature setting.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:163</div></div>
<div class="ttc" id="air__Ecoclim_8h_html_a1653fffcdcfdad604304f30c3e01969b"><div class="ttname"><a href="ir__Ecoclim_8h.html#a1653fffcdcfdad604304f30c3e01969b">kEcoclimFanMax</a></div><div class="ttdeci">const uint8_t kEcoclimFanMax</div><div class="ttdoc">2</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:37</div></div>
<div class="ttc" id="air__Ecoclim_8h_html_a0675f3a9fa7a4308ca4cbee9b70c91b4"><div class="ttname"><a href="ir__Ecoclim_8h.html#a0675f3a9fa7a4308ca4cbee9b70c91b4">kEcoclimFanAuto</a></div><div class="ttdeci">const uint8_t kEcoclimFanAuto</div><div class="ttdoc">3</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:38</div></div>
<div class="ttc" id="air__Ecoclim_8h_html_ab271e282eeb7486f4fabfdc14368e161"><div class="ttname"><a href="ir__Ecoclim_8h.html#ab271e282eeb7486f4fabfdc14368e161">kEcoclimTimerDisable</a></div><div class="ttdeci">const uint16_t kEcoclimTimerDisable</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:46</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_aa685f7824b36e3c80926d9ab96faf623"><div class="ttname"><a href="classIREcoclimAc.html#aa685f7824b36e3c80926d9ab96faf623">IREcoclimAc::convertMode</a></div><div class="ttdeci">static uint8_t convertMode(const stdAc::opmode_t mode)</div><div class="ttdoc">Convert a standard A/C mode into its native mode.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:255</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a9a0e2ee4ff9cbc6008cb359f2c3faf23"><div class="ttname"><a href="classIREcoclimAc.html#a9a0e2ee4ff9cbc6008cb359f2c3faf23">IREcoclimAc::off</a></div><div class="ttdeci">void off(void)</div><div class="ttdoc">Change the power setting to Off.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:192</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_aee569b3f1c6e5f7209da6a5acd37ec66"><div class="ttname"><a href="classIREcoclimAc.html#aee569b3f1c6e5f7209da6a5acd37ec66">IREcoclimAc::toCommonFanSpeed</a></div><div class="ttdeci">static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)</div><div class="ttdoc">Convert a native fan speed into its stdAc equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:221</div></div>
<div class="ttc" id="aunionEcoclimProtocol_html_a521fbbb17cf7755806d62ede90144f5c"><div class="ttname"><a href="unionEcoclimProtocol.html#a521fbbb17cf7755806d62ede90144f5c">EcoclimProtocol::Clock</a></div><div class="ttdeci">uint64_t Clock</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:66</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_ac88006b639a05c9605548db1af672fb0"><div class="ttname"><a href="classIREcoclimAc.html#ac88006b639a05c9605548db1af672fb0">IREcoclimAc::setRaw</a></div><div class="ttdeci">void setRaw(const uint64_t new_code)</div><div class="ttdoc">Set the internal state from a valid code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:150</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a4e176cd0def4fccc15bac1bc1dcf023b"><div class="ttname"><a href="classIREcoclimAc.html#a4e176cd0def4fccc15bac1bc1dcf023b">IREcoclimAc::setTemp</a></div><div class="ttdeci">void setTemp(const uint8_t celsius)</div><div class="ttdoc">Set the temperature.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:154</div></div>
<div class="ttc" id="air__Ecoclim_8h_html_a748f159701406c4d149ec10765423acb"><div class="ttname"><a href="ir__Ecoclim_8h.html#a748f159701406c4d149ec10765423acb">kEcoclimTempMax</a></div><div class="ttdeci">const uint8_t kEcoclimTempMax</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:44</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html"><div class="ttname"><a href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a></div></div>
<div class="ttc" id="air__Ecoclim_8h_html_abb1183a1acbe1b3257dbf05cc72380f3"><div class="ttname"><a href="ir__Ecoclim_8h.html#abb1183a1acbe1b3257dbf05cc72380f3">kEcoclimRecycle</a></div><div class="ttdeci">const uint8_t kEcoclimRecycle</div><div class="ttdoc">3</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:30</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a9a1b8b23de45b38eff74d10f5dfdd7bf"><div class="ttname"><a href="classIREcoclimAc.html#a9a1b8b23de45b38eff74d10f5dfdd7bf">IREcoclimAc::setOffTimer</a></div><div class="ttdeci">void setOffTimer(const uint16_t nr_of_mins)</div><div class="ttdoc">Set &amp; enable the Off Timer for the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:334</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a0d240abafeed17a9e0d3dca9804e03d2"><div class="ttname"><a href="classIREcoclimAc.html#a0d240abafeed17a9e0d3dca9804e03d2">IREcoclimAc::setMode</a></div><div class="ttdeci">void setMode(const uint8_t mode)</div><div class="ttdoc">Set the operating mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:236</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_aa819b7f8deff0823a6e6b59d2decace1"><div class="ttname"><a href="classIREcoclimAc.html#aa819b7f8deff0823a6e6b59d2decace1">IREcoclimAc::isOffTimerEnabled</a></div><div class="ttdeci">bool isOffTimerEnabled(void) const</div><div class="ttdoc">Check if the Off Timer is enabled.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:349</div></div>
<div class="ttc" id="aunionEcoclimProtocol_html_a424f9fd7d803ad18d4bf32ff0f3342b3"><div class="ttname"><a href="unionEcoclimProtocol.html#a424f9fd7d803ad18d4bf32ff0f3342b3">EcoclimProtocol::Clear</a></div><div class="ttdeci">uint64_t Clear</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:70</div></div>
<div class="ttc" id="air__Ecoclim_8h_html_ad6adc2787f3c3bf0116994d0966cfe20"><div class="ttname"><a href="ir__Ecoclim_8h.html#ad6adc2787f3c3bf0116994d0966cfe20">kEcoclimCool</a></div><div class="ttdeci">const uint8_t kEcoclimCool</div><div class="ttdoc">1</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:28</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_a1a49dde7ffbd753f7756cf0c9dc6d826"><div class="ttname"><a href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></div><div class="ttdeci">const uint16_t kNoRepeat</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:1145</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a0b196d1f8079d5336de11ba6ddf0a039"><div class="ttname"><a href="classIREcoclimAc.html#a0b196d1f8079d5336de11ba6ddf0a039">IREcoclimAc::setType</a></div><div class="ttdeci">void setType(const uint8_t code)</div><div class="ttdoc">Set the Unit type/DIP switch settings for the remote.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:294</div></div>
<div class="ttc" id="aunionEcoclimProtocol_html_ae022c9f0fe7a6912f0b9c335388cd386"><div class="ttname"><a href="unionEcoclimProtocol.html#ae022c9f0fe7a6912f0b9c335388cd386">EcoclimProtocol::Power</a></div><div class="ttdeci">uint64_t Power</div><div class="ttdoc">Power control.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:69</div></div>
<div class="ttc" id="air__Ecoclim_8h_html_a4533dbeddf89b4a95eb808e6284eb2af"><div class="ttname"><a href="ir__Ecoclim_8h.html#a4533dbeddf89b4a95eb808e6284eb2af">kEcoclimDry</a></div><div class="ttdeci">const uint8_t kEcoclimDry</div><div class="ttdoc">2</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:29</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a8f254f318d13695ce9e4096ed5693769"><div class="ttname"><a href="classIREcoclimAc.html#a8f254f318d13695ce9e4096ed5693769">IREcoclimAc::send</a></div><div class="ttdeci">void send(const uint16_t repeat=kNoRepeat)</div><div class="ttdoc">Send the current internal state as an IR message.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:139</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_acccf77fc5f0151a3414cfea45491c110"><div class="ttname"><a href="classIREcoclimAc.html#acccf77fc5f0151a3414cfea45491c110">IREcoclimAc::getPower</a></div><div class="ttdeci">bool getPower(void) const</div><div class="ttdoc">Get the value of the current power setting.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:182</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_af81295d2878131c0302902b9a1f80db2"><div class="ttname"><a href="classIREcoclimAc.html#af81295d2878131c0302902b9a1f80db2">IREcoclimAc::setClock</a></div><div class="ttdeci">void setClock(const uint16_t nr_of_mins)</div><div class="ttdoc">Set the clock time on the A/C unit.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:284</div></div>
<div class="ttc" id="aunionEcoclimProtocol_html_af88e83a0f5f4ef72e44070afc5db6acb"><div class="ttname"><a href="unionEcoclimProtocol.html#af88e83a0f5f4ef72e44070afc5db6acb">EcoclimProtocol::Temp</a></div><div class="ttdeci">uint64_t Temp</div><div class="ttdoc">Desired Temperature (Celsius)</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:72</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_afdb831e4920ab2e11b63e10f8dfabf7d"><div class="ttname"><a href="classIREcoclimAc.html#afdb831e4920ab2e11b63e10f8dfabf7d">IREcoclimAc::getOnTimer</a></div><div class="ttdeci">uint16_t getOnTimer(void) const</div><div class="ttdoc">Get the On Timer for the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:316</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_adddfdb01de28e0dda5f8c919ee0cd0fa"><div class="ttname"><a href="classIREcoclimAc.html#adddfdb01de28e0dda5f8c919ee0cd0fa">IREcoclimAc::disableOnTimer</a></div><div class="ttdeci">void disableOnTimer(void)</div><div class="ttdoc">Disable &amp; clear the On Timer.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:327</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a72a2d765c86a780162c59041e7146f19"><div class="ttname"><a href="classIREcoclimAc.html#a72a2d765c86a780162c59041e7146f19">IREcoclimAc::IREcoclimAc</a></div><div class="ttdeci">IREcoclimAc(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)</div><div class="ttdoc">Class constructor.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:126</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_aa34348b379abce3ae540987c3b83ec4c"><div class="ttname"><a href="classIREcoclimAc.html#aa34348b379abce3ae540987c3b83ec4c">IREcoclimAc::_irsend</a></div><div class="ttdeci">IRsend _irsend</div><div class="ttdoc">Instance of the IR send class.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:133</div></div>
<div class="ttc" id="aclassIREcoclimAc_html"><div class="ttname"><a href="classIREcoclimAc.html">IREcoclimAc</a></div><div class="ttdoc">Class for handling detailed EcoClim A/C 56 bit messages.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:84</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a828ba8b5663d3ceabe8529d4ece87400"><div class="ttname"><a href="classIREcoclimAc.html#a828ba8b5663d3ceabe8529d4ece87400">IREcoclimAc::begin</a></div><div class="ttdeci">void begin(void)</div><div class="ttdoc">Set up hardware to be able to send a message.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:134</div></div>
<div class="ttc" id="air__Ecoclim_8h_html_ae9de485f87949561850847b66ac81e47"><div class="ttname"><a href="ir__Ecoclim_8h.html#ae9de485f87949561850847b66ac81e47">kEcoclimAuto</a></div><div class="ttdeci">const uint8_t kEcoclimAuto</div><div class="ttdoc">0. a.k.a Slave</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:27</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a20a2b503f5125a90c4ab183dfe92446b"><div class="ttname"><a href="classIREcoclimAc.html#a20a2b503f5125a90c4ab183dfe92446b">IREcoclimAc::calibrate</a></div><div class="ttdeci">int8_t calibrate(void)</div><div class="ttdoc">Run the calibration to calculate uSec timing offsets for this platform.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:95</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a2f82f6da12f5f7fa66e8c136df535aa9"><div class="ttname"><a href="classIREcoclimAc.html#a2f82f6da12f5f7fa66e8c136df535aa9">IREcoclimAc::toString</a></div><div class="ttdeci">String toString(void) const</div><div class="ttdoc">Convert the internal state into a human readable string.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:388</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_ae74a5c07d7840e00a69b8f92cda8fcf8"><div class="ttname"><a href="classIREcoclimAc.html#ae74a5c07d7840e00a69b8f92cda8fcf8">IREcoclimAc::getOffTimer</a></div><div class="ttdeci">uint16_t getOffTimer(void) const</div><div class="ttdoc">Get the Off Timer for the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:343</div></div>
<div class="ttc" id="air__Ecoclim_8h_html_a38c275b9ee8e0a3c409190aefb1e06a3"><div class="ttname"><a href="ir__Ecoclim_8h.html#a38c275b9ee8e0a3c409190aefb1e06a3">kEcoclimHeat</a></div><div class="ttdeci">const uint8_t kEcoclimHeat</div><div class="ttdoc">5</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:32</div></div>
<div class="ttc" id="aunionEcoclimProtocol_html_af4ae2762de59708ae92670a5deaaac61"><div class="ttname"><a href="unionEcoclimProtocol.html#af4ae2762de59708ae92670a5deaaac61">EcoclimProtocol::OnHours</a></div><div class="ttdeci">uint64_t OnHours</div><div class="ttdoc">On Timer nr of Hours.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:64</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a5760f762c04f950566b51b34bee2b013"><div class="ttname"><a href="classIREcoclimAc.html#a5760f762c04f950566b51b34bee2b013">IREcoclimAc::setFan</a></div><div class="ttdeci">void setFan(const uint8_t speed)</div><div class="ttdoc">Set the speed of the fan.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:200</div></div>
<div class="ttc" id="aunionEcoclimProtocol_html_a35648af709ab62a606481bd73cc72e14"><div class="ttname"><a href="unionEcoclimProtocol.html#a35648af709ab62a606481bd73cc72e14">EcoclimProtocol::SensorTemp</a></div><div class="ttdeci">uint64_t SensorTemp</div><div class="ttdoc">Sensed Temperature (Celsius)</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:75</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a308c50e46019d174b8b62bf5b7b8feaf"><div class="ttname"><a href="classIREcoclimAc.html#a308c50e46019d174b8b62bf5b7b8feaf">IREcoclimAc::convertFan</a></div><div class="ttdeci">static uint8_t convertFan(const stdAc::fanspeed_t speed)</div><div class="ttdoc">Convert a stdAc::fanspeed_t enum into it's native speed.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:207</div></div>
<div class="ttc" id="aunionEcoclimProtocol_html"><div class="ttname"><a href="unionEcoclimProtocol.html">EcoclimProtocol</a></div><div class="ttdoc">Native representation of a Ecoclim A/C message.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:52</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a8278eec1b47aff9304cb255be5b561bb"><div class="ttname"><a href="classIREcoclimAc.html#a8278eec1b47aff9304cb255be5b561bb">IREcoclimAc::disableOffTimer</a></div><div class="ttdeci">void disableOffTimer(void)</div><div class="ttdoc">Disable &amp; clear the Off Timer.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:354</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a0355e830df179eb4f006b473d30e3117"><div class="ttname"><a href="classIREcoclimAc.html#a0355e830df179eb4f006b473d30e3117">IREcoclimAc::toCommonMode</a></div><div class="ttdeci">static stdAc::opmode_t toCommonMode(const uint8_t mode)</div><div class="ttdoc">Convert a native mode to it's common stdAc::opmode_t equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:268</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a8bb20ae92cb32b3a083f43eea7be5f9a"><div class="ttname"><a href="classIREcoclimAc.html#a8bb20ae92cb32b3a083f43eea7be5f9a">IREcoclimAc::_</a></div><div class="ttdeci">EcoclimProtocol _</div><div class="ttdoc">The state of the IR remote in IR code form.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:139</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_ae09d0b632cf657769d23f201284aa08f"><div class="ttname"><a href="classIREcoclimAc.html#ae09d0b632cf657769d23f201284aa08f">IREcoclimAc::setOnTimer</a></div><div class="ttdeci">void setOnTimer(const uint16_t nr_of_mins)</div><div class="ttdoc">Set &amp; enable the On Timer for the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:307</div></div>
<div class="ttc" id="astructstdAc_1_1state__t_html"><div class="ttname"><a href="structstdAc_1_1state__t.html">stdAc::state_t</a></div><div class="ttdoc">Structure to hold a common A/C state.</div><div class="ttdef"><b>Definition:</b> IRsend.h:114</div></div>
<div class="ttc" id="aclassIREcoclimAc_html_a93a69322013b546dc4e1ddb2b2dc4a2f"><div class="ttname"><a href="classIREcoclimAc.html#a93a69322013b546dc4e1ddb2b2dc4a2f">IREcoclimAc::getMode</a></div><div class="ttdeci">uint8_t getMode(void) const</div><div class="ttdoc">Get the operating mode setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.cpp:232</div></div>
<div class="ttc" id="aunionEcoclimProtocol_html_a6635a22deb4d5db6b320828a183df6bd"><div class="ttname"><a href="unionEcoclimProtocol.html#a6635a22deb4d5db6b320828a183df6bd">EcoclimProtocol::DipConfig</a></div><div class="ttdeci">uint64_t DipConfig</div><div class="ttdoc">0b0000 = Master, 0b0111 = Slave</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:58</div></div>
<div class="ttc" id="air__Ecoclim_8h_html_aac7d10152a70e17e9338e61f477faa68"><div class="ttname"><a href="ir__Ecoclim_8h.html#aac7d10152a70e17e9338e61f477faa68">kEcoclimFan</a></div><div class="ttdeci">const uint8_t kEcoclimFan</div><div class="ttdoc">4</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:31</div></div>
<div class="ttc" id="aunionEcoclimProtocol_html_a453dcd8e81eced1362f352c21809deab"><div class="ttname"><a href="unionEcoclimProtocol.html#a453dcd8e81eced1362f352c21809deab">EcoclimProtocol::OffTenMins</a></div><div class="ttdeci">uint64_t OffTenMins</div><div class="ttdoc">Off Timer minutes (in tens of mins)</div><div class="ttdef"><b>Definition:</b> ir_Ecoclim.h:60</div></div>
<div class="ttc" id="anamespacestdAc_html_a99ad268c783486f9b3207cb78f48444f"><div class="ttname"><a href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a></div><div class="ttdeci">opmode_t</div><div class="ttdoc">Common A/C settings for A/C operating modes.</div><div class="ttdef"><b>Definition:</b> IRsend.h:49</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
